A distributed-processing environment using Internet has become popular in recent years because of the diffusion of Java, an object-oriented programming language for Internet. In a distributed-processing system, a process is distributed among a plurality of computers connected with each other via a network and is cooperatively performed by them.
In the simplest distributed-processing system in which a server computer entrusts part of a process to a client computer, the server computer transfers a series of commands to perform the partial process (hereinafter also referred to as “command group”) to the client computer.
The server computer may need to transfer a lot of command groups at the same time after batch processing for them or to transfer each of these command groups severally in order of the time of issue. For example, in a conventional automatic distributed-processing system, when a server computer entrusts a client computer with drawing a blue cross composed of two blue line segments mutually crossing at right angles, the server computer generates a series of drawing commands #1, #2, and #3. These drawing commands #1 through #3 may be “SET A COLOR (BLUE)”, “DRAW A LINE (10,10)-(20,20)”, and “DRAW A LINE (20,10)-(10,20)”, respectively. The server computer transfers these drawing commands to the client computer sequentially according to a prescribed rule on description of drawing commands. The client computer receives these commands and draws the blue cross on the screen according to them.
There may be a case where a window being displayed on the screen is resized according to an instruction by a user after drawing the blue cross. In such a case, when receiving a communication that the event has occurred in the client computer, the server computer conventionally retransfers the very same drawing commands #1 through #3 to the client computer.
There may be some other cases where the server computer retransfers the same drawing commands to the client computer as follows:
(1) A window displayed on the screen is turned into an icon for a while. Subsequently, the icon is restored to the window displayed on the screen; and
(2) A window is moved from far side of another window to this side of it on the screen.
It is very inefficient from the viewpoint of data communication to retransfer the same drawing command group as that previously transferred. Therefore, an improvement of the conventional command transfer method has been desired.
Moreover, many similar series of drawing command may be issued to draw similar graphical user interface (GUI) parts, for example, two buttons of a different color. Therefore, it is also desired to improve the conventional command transfer method from the viewpoint of transferring a similar drawing command group to that previously transferred.
However, a conventional command relay library, which manages a command transfer process between both computers, is generally produced for a wide use so that the library may operate in cooperation with every application program, which directs the library to transfer a command group. So it is wasteful and impractical to preinstall every pattern of command group in the library at the stage of production.
It is difficult to commonly manage every pattern of command group because each pattern varies according to an application program. Additionally, because the processing method of the application program is usually not opened co the public, it is difficult to know every pattern of command group unless the server computer actually executes the application program.
As described above, even though two or more command groups have the same or similar patterns in common, every command group is conventionally transferred from the server computer to the client computer periodically or each time the command group is issued. Therefore, an improvement of a command transfer method is desired in order to reduce the whole amount of communication traffic.